package com.alks.function.mapper.web.pay;

import com.alks.entity.data.entity.ExportPlanInfo;
import com.alks.entity.data.entity.SdCompany;
import com.alks.entity.data.entity.webPay.FinancePayable;
import com.alks.entity.data.entity.webPay.FinanceReceivable;
import com.alks.entity.data.response.ResponseInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

@Mapper
public interface PcPayMapper {

    List<FinanceReceivable> receivableList(FinanceReceivable req);

    Map<String, Object> sumStorage1(FinanceReceivable req);

    Map<String, Object> sumStorage2(FinanceReceivable req);

    List<FinanceReceivable> selectArDetailList(FinanceReceivable req);


    Integer addDetail(@Param("list") List<FinanceReceivable> list);

    Integer deleteDetail(FinanceReceivable req);

    List<ExportPlanInfo> infoList(ExportPlanInfo exportPlanInfo);

    Integer cfm(FinanceReceivable param);

    Integer updateRemark(FinanceReceivable param);

    List<FinanceReceivable> tempDetailList(FinanceReceivable req);

    Integer addTempDetail(List<FinanceReceivable> req);

    List<FinanceReceivable> selectTempDeleteList(FinanceReceivable req);

    int deleteTempByReceiptNo(FinanceReceivable req);

    SdCompany getCompanyById(String companyId);

    List<FinanceReceivable> selectPrintDataByPayNo(FinanceReceivable financeReceivable);

    List<FinancePayable> payableAoaList(FinancePayable financePayable);

    Map<String, Object> sumAoaStorage(FinancePayable financePayable);

    BigDecimal getAmtByReceiptNo(FinanceReceivable item);

    int selectReconcilitaionNum(FinancePayable item);

    void addReconcilitaion(List<FinancePayable> insertList);

    int updateAoaDate(@Param("list") List<FinancePayable> records);

    int selectCfmNum(FinancePayable item);

    Integer updateAoaCfm(@Param("list") List<FinancePayable> records);

    List<FinancePayable> payableList(FinancePayable financePayable);

    Map<String, Object> sumStorage(FinancePayable financePayable);

    List<FinancePayable> payableDetailList(FinancePayable financePayable);

    int addDetail1(List<FinancePayable> financePayable);

    int deleteDetail1(FinancePayable financePayable);

    int updateCfmFlag(FinancePayable param);

    int updateRemark1(FinancePayable param);

    int updateAoaQty(@Param("list") List<FinancePayable> records);
}
